パターン、Wiki、XP ―― 時を超えた創造の原則 (WEB+DB PRESS plusシリーズ)
https://images-na.ssl-images-amazon.com/images/I/51psMmyTdWL._SX346_BO1,204,203,200_.jpg https://www.amazon.co.jp/%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E3%80%81Wiki%E3%80%81XP-%E6%99%82%E3%82%92%E8%B6%85%E3%81%88%E3%81%9F%E5%89%B5%E9%80%A0%E3%81%AE%E5%8E%9F%E5%89%87-WEB-PRESS-plus%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA/dp/4774138975
江渡浩一郎 著
技術評論社
ISBN 978-4-7741-3897-8
はじめに
謝辞
序章 パターン,Wiki,XPの起源へ
Wikiとの遭遇
Wikiとブログ・掲示板の違い
Wikiの正確な定義とは
Wikiをどう使えばよいのか
Wiki誕生の背景を探る
WikiWikiWeb
HyperCardによるパターンブラウザ
ソフトウェア開発におけるパターン
クリストファー・アレグザンダーによるパターンランゲージ
建築,ソフトウェア開発,Wikiの歴史を探る
第1部 建築
1章 クリストファー・アレグザンダーによる美の原理の追及
アレグザンダーの生い立ち
「美」の根本原理の追及
初期の実験
『形の合成に関するノート』── 設計プロセスの数学的な形式化
要求条件を1つにまとめるダイアグラムの発明
ベイエリア高速鉄道の計画立案 ── 要求条件間の膨大な関係性の計算
「都市はツリーではない」── 多様な関係性の発見
数学的な形式化に対する自己批判
2章 アレグザンダーの6つの原理
『人間都市』── 人間を疎外しない都市のあり方
『オレゴン大学の実験』── 利用者参加による建築のための「6つの原理」
市民によるバークレーの再建 ── 利用者参加による街作りの実験
コラム:『オレゴン大学の実験』におけるブランコの比喩
3章 パターンランゲージ
パターンとパターンランゲージ
『パタン・ランゲージ』── 利用者と建築家の共通言語
パターン形式
パターンの具体例
数学的理論による設計から,利用者参加による設計へ
4章 時を超えた建設の道
『時を超えた建設の道』── パターンランゲージによる建築理論
無名の質 ── 生き生きとした建物や町が持つ特性
解題 ── 時を超えた創造の原則
5章 パターンランゲージによる建築の実際
パターンランゲージの目指す方法論
日本におけるアレグザンダーの受容
盈進学園東野高校の建設
20年後の東野高校
6章 アレグザンダーの現在
チャールズ皇太子のアドバイザへの就任
『The Nature of Order』── 普遍性を持つ幾何学の研究
パターンランゲージという思想
第2部 ソフトウェア開発
7章 オブジェクト指向
ソフトウェア開発の世界へ
オブジェクト指向の勃興 ── Smalltalk
オブジェクト指向とGUI
GUIの普及と一般化 ── Macintosh
OOPSLAの設立 ── オブジェクト指向に関するコミュニティの形成
ソフトウェア概念変革の時代
8章 ソフトウェア開発へのパターンの適用
パターンランゲージをプログラミングへ応用する
「オブジェクト指向プログラムのためのパターン言語の使用」
繰り返し現れる構造に目を向ける人々
「Toward an Architecture Handbook」── OOPSLA/ECOOP 1990
「Architecture Handbook Workshop」── OOPSLA 1991
「Documenting Frameworks using Patterns」── OOPSLA 1992
GoFの結成 ── OOPSLA 1992
Hillside Groupの誕生
「Patterns: Building Blocks for Object-Oriented Architectures」── OOPSLA 1993
PLoPの開催 ── パターンランゲージコミュニティの形成
9章 デザインパターン
『オブジェクト指向における再利用のためのデザインパターン』── デザインパターンの誕生
パターン形式
デザインパターンの具体例
デザインパターンとパターンランゲージの共通点と相違点
デザインパターンの普及
その後のパターンの展開
10章 プロセスへのパターンの適用
ソフトウェア開発における「6つの原理」
「開発工程の生成的パターン言語」── コプリエンによるプロセスパターン
「エピソーズ」── カニンガムによるプロセスパターン
C3プロジェクト ── XP誕生の地
C3プロジェクトにおけるプラクティス
C3プロジェクトの進展
C3プロジェクトの結末
11章 エクストリームプログラミング
『XPエクストリーム・プログラミング入門』── ベックによる開発プロセスの変革
価値,原則,プラクティス
アジャイルマニフェスト
『XPエクストリーム・プログラミング入門 第2版』── XPの再定義
価値
原則
基礎プラクティス
応用プラクティス
XPを代表するプラクティス
組織パターン,プロセスパターンからXPへ
アレグザンダーの6つの原理と,XPのプラクティスの比較
XPとパターンの関係
利用者と設計者の関係を見直す
ソフトウェア開発からアレグザンダーへのフィードバック
第3部 Wiki
12章 HyperCardによるパターンブラウザ
Wikiの前身
Vivariumプロジェクト ── 子どものためのプログラミング環境の実験
HyperCardの誕生 ── 初めての実用的なハイパーテキスト環境
パターンブラウザの誕生 ── HyperCardによるWikiの前身
複数人による共同編集の実験
コラム:CRCカード ── クラス構造の記述
13章 WikiWikiWeb
World Wide Webの誕生
Web上の動的な基盤の形成 ── フォームとCGIの誕生
WikiWikiWebの誕生
WikiWikiWebの名前の由来
Wiki記法 ── HTMLを簡略化した構造化記法
WikiName ── キャメルケースによるリンク表現
Wikiカテゴリ ── 逆リンクを利用したメタページの表現
Wikiとパターンブラウザの共通点と相違点
14章 Wikiモードによるコミュニケーションパターン
Wiki上のコミュニケーション
コミュニケーションパターン
Wikiモード
Wikiページのライフサイクル
Wikiモードとコミュニティの成熟
コラム:パターン形式 ── それゆえしかし形式
15章 Wiki設計原則
カニンガムが満たそうとした設計原則
アレグザンダーの6つの原理とWiki設計原則の比較
XPのプラクティスとWiki設計原則の比較
XPのプラクティスでWikiを使いこなす
C2 WikiがXPの発展に与えた影響
Wikiの本質とは何か
16章 Wikiエンジン
WikiWikiWebのCGIスクリプト
文芸的プログラミング ── 文章のようにプログラムを書く
WikiBase ── Wikiを舞台にした文芸的プログラミング環境
WikiBaseと文芸的プログミングの共通点と相違点
WikiBaseのコードの共有
「WikiWikiWeb」から「Wiki」へ
さまざまなWikiエンジンの誕生と,Wikiサイトの発展
『Wiki Way』の出版とその後のWikiの広がり
17章 Wikipedia
Nupedia ── Wikipediaのルーツ
Wikipediaの誕生
コラム:UuU ── Wikipedia最古のページ
フェーズ1 ── UseModWikiの時代
フェーズ1のトークページ ── ドキュメントモードとスレッドモードの分離
Wikipediaのルールと合意形成
フェーズ2 ── Wikipedia専用のWikiエンジン
フェーズ2のトークページ ── スレッドモードの機能化
コラム:カニンガムの予言
フェーズ3 ── MediaWikiの誕生
Nupediaの閉鎖とWikipediaの発展 ── 伽藍とバザール
Wikimedia財団の設立
Wikipediaが成功した理由
コラム:Wikipediaを「Wiki」と呼んでいいか
18章 Wikiの現在
Wiki企業の誕生
個人でのWikiの利用
さまざまな領域に特化したWikiエンジン
概念としてのWikiの利用
アラン・ケイによるWikiエンジン
終章 時を超えた創造の原則
アレグザンダーの思想が及ぼした影響
建築
ソフトウェア開発
Wiki
「無名の質」を追い求める
時を超えた創造の原則へ